package cn.foolishbird.crow.captcha;

/**
 * 验证码保存策略
 *
 * @author foolish-bird
 */
public interface CaptchaRepository<V> {

    /**
     * 保存验证码
     *
     * @param captcha
     */
    void save(Captcha<V> captcha);

    /**
     * 更新验证码
     *
     * @param captcha
     */
    void redeem(Captcha<V> captcha);

    /**
     * 查询验证码
     *
     * @param captchaId
     * @return
     */
    Captcha<V> query(String captchaId);
}
